#ifndef PLAY_STATE_
#define PLAY_STATE_

#include <string>
#include "log.h"
#include "game_object.h"
#include "sdl_game_object.h"
#include "game.h"
#include "pause_state.h"
#include "game_over_state.h"
#include "state_parser.h"

class PlayState : public GameState {
private:
    static const std::string play_id_;
    std::vector<GameObject*> game_objects_;
public:
    virtual void Update() override;
    virtual void Render() override;

    virtual bool OnEnter() override;
    virtual bool OnExit() override;

    virtual std::string get_stateid() const override {
        return play_id_;
    }

    bool CheckCollision(SDLGameObject* p1, SDLGameObject* p2);
};

#endif // PLAY_STATE_
